It is known to create customised documents using document templates or master documents. In our system, customised documents are generated using master documents which contain portions of document content, such as text or images, which are selectively incorporated into the resulting customised documents. For example, portions of document content included in the master document may be included in the final customised document only if certain conditions are satisfied. Such portions of document content may be referred to as conditional document content. The master document may also include portions of document content which are included unconditionally in the final customised document.
In one example, a social services document customised to a particular person who is the subject of the document may be generated from a master document. If the subject is pregnant then the final document may need to include a portion of text relating to the pregnancy. In this case the master document contains a specific text portion relating to pregnancy which is only included in the final customised document if it has been determined that the subject is actually pregnant. The final document may also need to include a standard clause which is included regardless of pregnancy but whose wording differs depending on whether the subject is male or female. In this case, the master document contains two text portions corresponding to the alternative clause wordings. One or the other of the two text portions is selectively included in the customised document depending on whether the subject is male or female.
The information required to generate a customised document may be represented by one or more variables. In the examples given above, a first variable ‘Pregnant’ which can take one of the two values ‘True’ or ‘False’ is used to represent whether the subject is pregnant or not. A second variable ‘Gender’ which can take one of the two values ‘Male’ or ‘Female’ is used to represent the gender of the subject. In our system, the variables may also take values indicating that the value of a variable is unknown or indefinite.
The variables associated with a master document may be used to form logical statements which may in turn be used to specify the conditions which need to be satisfied for each portion of document content to be included in the customised document. For example, the logical statement Gender IS ‘Female’ may be formed which evaluates to True if the subject is female and evaluates to False if the subject is male. This logical statement represents the condition which must be satisfied (i.e. evaluate to True) for the standard clause relating to female subjects to be included in the customised document. The simplest logical statement is a variable such as ‘Pregnant’, which can take the values True and False, appearing on its own. In this case the evaluation of the logical statement is simply the value of the variable. Such a variable, ‘Variable’, appearing on its own as a logical statement may be considered to be shorthand for Variable IS ‘True’. More complicated logical statements may also be formed by combining simpler statements using the logical operators AND, OR and NOT. For example, the logical statement (Gender IS ‘Female’) AND NOT (Pregnant) may be formed which evaluates to True only if the subject is female and not pregnant. The conditions (in the form of logical statements) which dictate whether particular portions of document content are included in the customised document may be referred to as usage statements.
The way in which portions of document content are incorporated into customised documents may be represented in the form of a mark-up of the master document. For example, a portion of conditional text in the master document may be indicated as such by enclosing the text in square bracket, [ . . . conditional text . . . ]. The usage statement associated with a particular portion of document content is indicated as superscript on the inside of the left-hand bracket associated with the portion of document content, [Usage Statement . . . conditional text . . . ]. The conditional document content is included in the customised document only if the usage statement associated with that conditional document content evaluates to True. For example, the mark-up [Gender IS ‘Male’ Text portion 1 . . . ] indicates that the text ‘Text portion 1 . . . ’ is included in the customised document only if the subject is male. Similarly, the mark-up [Pregnant Text portion 2 . . . ] indicates that the text ‘Text portion 2 . . . ’ is included in the customised document only if the subject is pregnant. In the example given above where alternative clause wordings are used depending on whether the subject is male or female, the master document contains [Gender IS ‘Male’ Clause wording 1 . . . ] [Gender IS ‘Female’ Clause wording 2 . . . ]. The position of the document content in the customised document depends on the position of the document content within the master document.
Variables such as ‘Name’ or ‘Address’ may also appear in the text portions. When a variable appears within a portion of text, the variable may be distinguished from the rest of the text by being shown between curly brackets, {variable}. One example of a conditional text portion illustrating this is [Pregnant The mother is {Name} who lives at {Address} . . . ].
Although the examples given above represents one form of mark-up, other forms of mark-up may also be used. Our U.S. patent application Ser. No. 10/434,753, incorporated herein by reference, discloses two different forms of mark-up notation and a system and method for converting a master document written in one mark-up notation to a master document written in a different mark-up notation. More complex mark-up notation may also be used. For example, our International patent applications, publication numbers WO 2005/024653, WO 2005/024654, WO 2005/024656 and WO 2005/024660, incorporated herein by reference, disclose several examples.
In order to generate a fully customised document it is necessary to determine the values of all the relevant variables so that the usage statements can be evaluated which in turn allows a determination to be made as to which of the portions of conditional document content to include in the final customised document. This information may be collected by means of a questionnaire which a user completes to assign values to the variables. In the examples given above, a user may be asked a first question enquiring as to the gender of the subject. A second question may then be asked enquiring as to whether the subject is pregnant. The questionnaire may be presented to the user in the form of a series of web pages for example in which the user types answers into text boxes or checks tick boxes corresponding to predefined alternative answers. The questionnaire may be generated automatically by analyzing the master document and determining from the mark-up and the variables present which questions to ask. Our International patent applications, publication numbers WO 01/04772 and WO 03/061474, incorporated herein by reference, disclose systems and methods for generating a questionnaire from a master document.
Different master documents are used to generate different types of customised document. Examples of different types of documents include different types of legal contracts such as lease agreements and assignment documents. With these examples, a first master document would be used to generate lease agreements while a second master document would be used to generate assignment documents. Although the various types of customised documents are different in form they may each include common portions of document content. For example, both lease agreements and assignment documents may include a standard clause specifying the law governing the document. The particular wording of the governing law clause included in a customised document is selected from several alternative wordings according to the jurisdiction involved. In this case each master document would contain the following portions of conditional text for example, only one of which would appear in the customised document.                [Jurisdiction IS ‘USA’ This agreement is governed by the laws of the United States of America.]        [Jurisdiction IS ‘Europe’ This agreement is governed by the laws of the European Union.]        [Jurisdiction IS ‘Japan’ This agreement is governed by the laws of Japan.]        [Jurisdiction IS ‘Other’ This agreement is not governed by any specific jurisdiction.]        
A clause of a particular type, such as a governing law clause may be referred to as a clause type. A particular instance of a clause type, such as the USA governing law wording may be referred to as a clause instance.
Rather than including each clause instance in each master document, it is often more convenient to include the clause wordings in a separate document which can be accessed by each of the master documents. Such a document may be referred to as a clause file or clause document. In the above example, the alternative clause wordings for the governing law clause represented as portions of conditional text may be stored in a clause file called ‘GOVERNING_LAW_CLAUSE’. Then, any master document which needs to include a governing law clause includes the mark-up {include GOVERNING_LAW_CLAUSE} at the appropriate point in the master document. This mark-up, referred to as an include command, specifies that the contents of the GOVERNING_LAW_CLAUSE file should be inserted into the master document at that point. As used herein, the term ‘file’ is intended in a broad sense to include, for example, any self-contained portion of data.
Other clause types, such as a clause specifying the term of an agreement may be provided in other clause files. A collection of clause files relating to different types of clause may be arranged top form a clause library. Alternatively, a clause library may comprise a single file comprising different sections corresponding to the clause files.
The advantage of the technique described above is that when the wording of a clause needs to be changed, for example because of a change in the law, then the change only needs to be made in one place in the clause file, rather than in each master document which uses the clause. This greatly facilitates maintenance of the document generation system.
Sometimes, even though different master documents use common wording for particular standard clauses, the conditions which dictate which variation of the clause wording is incorporated into a customised document may vary. For example, in one master agreement the jurisdiction in the context of a law governing clause may depend on the location of the sales office. In this case, the clause file would contain the following portions of conditional text for example.                [Sales Office IS ‘New York’ This agreement is governed by the laws of the United States of America.]        [Sales Office IS ‘London’ OR Sales Office IS ‘Paris’ This agreement is governed by the laws of the European Union.]        [Sales Office IS ‘Other’ This agreement is not governed by any specific jurisdiction.]        
However, in another master agreement the jurisdiction in the context of a law governing clause may depend on the location of the sales region. In this case, the clause file would contain the following portions of document content for example.                [Sales Region IS ‘North America’ This agreement is governed by the laws of the United States of America.]        [Sales Region IS NOT ‘North America’ This agreement is governed by the laws of the European Union.]        
In such cases, two separate clause files could be provided for the governing law clause. However, this technique negates the advantage of having a single clause file for maintenance. One alternative solution is to specialize the clause file to take into account where and how the clause is being used. For example, the usage statements in the clause file could depend on which master document the clause is being used in. In this case, the clause document would contain the following portions of conditional text for example.                [(Agreement A AND Sales Office IS ‘New York’) OR (Agreement B AND Sales Region IS ‘North America’) This agreement is governed by the laws of the USA.]        [(Agreement A AND (Sales Office IS ‘London’ OR Sales Office IS ‘Paris’)) OR (Agreement B AND Sales Region IS NOT ‘North America’) This agreement is governed by the laws of the European Union.]        [Agreement A AND Sales Office IS ‘Other’ This agreement is not governed by any specific jurisdiction.]        
However, this technique suffers several disadvantages. First, the usage statements involved can become very complex very quickly. This means that design of clause files can become complex and error prone. Second, the usage statements involve variables that relate to the master documents. This means that if new masters are designed, the clause files would also need to be modified so that the new master documents could use the clause files. Thirdly, the logic to select a clause instance is embedded within the clause document. This means that the clause files contain information associated with specific master documents which, from a logical point of view, is undesirable if clause files are intended to be master document independent.
We have appreciated the need to provide a system and method in which common portions of conditional document content can be shared between different master documents which do not suffer the disadvantages set out above.